#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//#include<assert.h>
//void mystrlen(char* dest,char* sour)
//{
//	assert(*dest != NULL);
//	assert(*sour != NULL);
//	while (*sour != '\0')
//	{
//		*dest = *sour;
//		dest++;
//		sour++;
//	}
//	*dest = *sour;
//
//}
//int main()
//{
//	char dest[] = "***********";
//	char sour[] = "abcde";
//	mystrlen(dest, sour);
//	printf("%s", dest);
//}
//
//#include<stdio.h>
//#include<assert.h>
//char* mystrlen(char* dest,const char*  sour)
//{
//	assert(*dest != NULL);
//	assert(*sour != NULL);
//	char* ret = dest;
//	while (*dest++ = *sour++ )
//	{
//		;
//	}
//	return ret;
//
//}
//int main()
//{
//	char dest[] = "***********";
//	char sour[] = "abcde";
//	printf("%s", mystrlen(dest, sour));
//}
//#include<stdio.h>
//int cnt = 0;
//int fib(int n)
//{
//	cnt++;
//	if (n == 0)
//		return 1;
//	else if (n == 1)
//		return 2;
//	else
//		return fib(n - 1) + fib(n - 2);
//}
//int main()
//{
//	fib(8);
//	printf("%d", cnt);
//}
//#include<stdio.h>
//int main()
//{
//	printf("%d", 11 | 10);
//}
//#include<stdio.h>
//#include<string.h>
//void reverse(char*left,char*right)
//{
//    while (left < right)
//    {
//        char tep = *left;
//        *left = *right;
//        *right = tep;
//        left++;
//        right--;
//    }
//}
//int main()
//{
//    char ch[100] = "I like beijing.";
//    int len = strlen(ch);
//    reverse(ch,ch+len-1);
//    
//    char* start = ch;
//    while (*start)
//    {
//        char* end = start;
//        while (*end != ' ' && *end != '\0')
//        {
//            end++;
//        }
//        reverse(start,end-1);
//        if (*end == ' ')
//            start = end + 1;
//        else
//            start = end;
//    }
//    printf("%s", ch);
//    return 0;
//}
//#include<stdio.h>
//int main()
//{
//	long long a = 0;
//	long long b = 0;
//	scanf("%lld %lld", &a, &b);
//	int i = 1;
//	while (a*i%b)
//	{
//		i++;
//	}
//	printf("%lld", a * i);
//	return 0;
//
//}

#include<stdio.h>
void reverse(char* left, char* right)
{
	while (left<right)
	{
		int temp = *left;
		*left = *right;
		*right = temp;
		left++;
		right--;
	}
}

int main()
{
	char arr[101] = { 0 };
	gets(arr);
	int len = strlen(arr);
	reverse(arr, arr + len - 1);
	char* start = arr;
	char* current = arr;
	while (*current)
	{
		while (*current != ' '&&*current!='\0')
		{
			current++;
		}
		reverse(start, current - 1);
		start = current + 1;
		if (*current == ' ')
			current++;
	}
	printf("%s", arr);
	return 0;
}